Page({
  data: {
    openid: '',
    activities: [],
    allActivities: [], // 存储所有活动，用于筛选
    categories: ['全部', '户外', '室内', '热门', '精品', '经典'],
    activeCategory: '全部'
  },
  onLoad() {
    // 从云开发数据库获取活动数据
    console.log('开始获取活动数据')
    // 初始化云开发环境
    if (!wx.cloud.initState) {
      wx.cloud.init({
        env: 'yjy2025-5gvudtou5bcb2357', // 指定云开发环境ID
        traceUser: true,
      })
      console.log('云开发初始化成功')
    } else {
      console.log('云开发已初始化')
    }
    console.log('云开发是否已初始化:', wx.cloud.initState)
    const db = wx.cloud.database()
    console.log('云数据库初始化成功')
    console.log('云开发环境ID:', wx.cloud.env || 'yjy2025-5gvudtou5bcb2357')
    
    // 尝试方法1: 直接查询数据库
    console.log('尝试直接访问activities集合')
    db.collection('activities').get().then(res => {
      console.log('直接查询结果:', res)
      if (res.data.length === 0) {
        console.log('直接查询无数据，尝试通过云函数获取')
        // 尝试方法2: 通过云函数获取数据
        wx.cloud.callFunction({
          name: 'checkPermission',
          data: {
            collectionName: 'activities'
          },
          success: res => {
            console.log('云函数查询结果:', res.result)
            if (res.result.success && res.result.data.length > 0) {
              this.setData({
                activities: res.result.data,
                allActivities: res.result.data
              })
              console.log('通过云函数更新数据成功')
            } else {
              console.error('云函数查询失败或无数据')
              wx.showToast({
                title: '获取数据失败',
                icon: 'none'
              })
            }
          },
          fail: err => {
            console.error('云函数调用失败:', err)
            wx.showToast({
              title: '获取数据失败',
              icon: 'none'
            })
          }
        })
      } else {
        this.setData({
          activities: res.data,
          allActivities: res.data
        })
        console.log('直接查询更新数据成功')
      }
    }).catch(err => {
      console.error('直接查询失败:', err)
      wx.showToast({
        title: '获取数据失败',
        icon: 'none'
      })
      console.log('获取数据成功', res)
      console.log('获取到的数据数量:', res.data.length)
      this.setData({
        activities: res.data,
        allActivities: res.data // 保存所有活动
      })
      console.log('数据已更新到页面state')
    }).catch(err => {
      console.error('获取活动数据失败', err)
      // 显示错误提示
      wx.showToast({
        title: '获取数据失败',
        icon: 'none'
      })
    })

    // 获取openid (保留原有功能)
    wx.cloud.callFunction({
      name: 'getOpenId',
      success: res => {
        this.setData({
          openid: res.result.openid
        })
      },
      fail: err => {
        console.error('调用云函数失败', err)
      }
    })
  },
  // 分类切换事件处理
  // 分类切换事件处理
  onCategoryChange(e) {
    const category = e.currentTarget.dataset.category;
    this.setData({
      activeCategory: category
    });

    // 根据分类筛选活动
    if (category === '全部') {
      this.setData({
        activities: this.data.allActivities
      });
    } else {
      const filteredActivities = this.data.allActivities.filter(activity => {
        return activity.tag === category;
      });
      this.setData({
        activities: filteredActivities
      });
    }
  },

  // 活动卡片点击事件处理已移至组件内部实现

  // 跳转到个人页面
  goToPersonal() {
    console.log('goToPersonal函数被调用');
    wx.switchTab({
      url: '/pages/personal/personal',
      success: function() {
        console.log('跳转成功');
      },
      fail: function(err) {
        console.error('跳转失败:', err);
      }
    })
  }
})